/*
 * StrategyG - Web System
 * Copyright 2011-2012
 *
 * Autor		: Vanie Torres
 * Fecha Registro	: 30/11/2012 12:22:54 AM
 * Detalle		: Formacion
 */

package com.strategy.data.entity;

import java.io.Serializable;
import java.util.Date;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 *
 * @author Vanie Torres
 */
@Entity
@Table(name = "tbl_formacion", catalog = "strategydb", schema = "tesis")
@SequenceGenerator(name = "tesis.seq_tbl_formacion_cod", sequenceName = "tesis.seq_tbl_formacion_cod")
@NamedQueries({
@NamedQuery(name = "Formacion.consultarTodosActivos", 
    query = "SELECT f FROM Formacion f WHERE f.estado = 1")

})
public class Formacion implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @GeneratedValue(strategy = GenerationType.AUTO, generator = "tesis.seq_tbl_formacion_cod")
    @Column(name = "formacion_cod")
    private Integer codigo;
    @Column(name = "formacion_desc")
    private String descripcion;
    @Column(name = "formacion_tactica")
    private Integer tactica;
    @Column(name = "formacion_estado")
    private Integer estado;
    @Column(name = "formacion_alineacion")
    private Integer alineacion;
    @Column(name = "formacion_nexperiencia")
    private Integer nivelExperiencia;
    @Column(name = "formacion_categoria")
    private Integer categoria;
    @Column(name = "formacion_observacion")
    private String observacion;
    @Basic(optional = false)
    @Column(name = "formacion_fregistro")
    @Temporal(TemporalType.TIMESTAMP)
    private Date registroFecha;
    @Basic(optional = false)
    @Column(name = "formacion_usrregistro")
    private String registroUsr;
    @Basic(optional = false)
    @Column(name = "formacion_ipregistro")
    private String registroIp;
    @Basic(optional = false)
    @Column(name = "formacion_fauditoria")
    @Temporal(TemporalType.TIMESTAMP)
    private Date auditoriaFecha;
    @Basic(optional = false)
    @Column(name = "formacion_usrauditoria")
    private String auditoriaUsr;
    @Basic(optional = false)
    @Column(name = "formacion_ipauditoria")
    private String auditoriaIp;

    public Formacion() {
    }

    public Integer getAlineacion() {
        return alineacion;
    }

    public void setAlineacion(Integer alineacion) {
        this.alineacion = alineacion;
    }

    public Date getAuditoriaFecha() {
        return auditoriaFecha;
    }

    public void setAuditoriaFecha(Date auditoriaFecha) {
        this.auditoriaFecha = auditoriaFecha;
    }

    public String getAuditoriaIp() {
        return auditoriaIp;
    }

    public void setAuditoriaIp(String auditoriaIp) {
        this.auditoriaIp = auditoriaIp;
    }

    public String getAuditoriaUsr() {
        return auditoriaUsr;
    }

    public void setAuditoriaUsr(String auditoriaUsr) {
        this.auditoriaUsr = auditoriaUsr;
    }

    public Integer getCategoria() {
        return categoria;
    }

    public void setCategoria(Integer categoria) {
        this.categoria = categoria;
    }

    public Integer getCodigo() {
        return codigo;
    }

    public void setCodigo(Integer codigo) {
        this.codigo = codigo;
    }

    public String getDescripcion() {
        return descripcion;
    }

    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }

    public Integer getEstado() {
        return estado;
    }

    public void setEstado(Integer estado) {
        this.estado = estado;
    }

    public Integer getNivelExperiencia() {
        return nivelExperiencia;
    }

    public void setNivelExperiencia(Integer nivelExperiencia) {
        this.nivelExperiencia = nivelExperiencia;
    }

    public String getObservacion() {
        return observacion;
    }

    public void setObservacion(String observacion) {
        this.observacion = observacion;
    }

    public Date getRegistroFecha() {
        return registroFecha;
    }

    public void setRegistroFecha(Date registroFecha) {
        this.registroFecha = registroFecha;
    }

    public String getRegistroIp() {
        return registroIp;
    }

    public void setRegistroIp(String registroIp) {
        this.registroIp = registroIp;
    }

    public String getRegistroUsr() {
        return registroUsr;
    }

    public void setRegistroUsr(String registroUsr) {
        this.registroUsr = registroUsr;
    }

    public Integer getTactica() {
        return tactica;
    }

    public void setTactica(Integer tactica) {
        this.tactica = tactica;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (codigo != null ? codigo.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Formacion)) {
            return false;
        }
        Formacion other = (Formacion) object;
        if ((this.codigo == null && other.codigo != null) || (this.codigo != null && !this.codigo.equals(other.codigo))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "com.strategy.data.entity.Formacion[formacionCod=" + codigo + "]";
    }

}
